package yiminsu.com.cn.service;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import org.apache.ibatis.annotations.Param;
import org.springframework.transaction.annotation.Transactional;

import yiminsu.com.cn.beans.Hostuser;
import yiminsu.com.cn.beans.HotelBedTypeVO;
import yiminsu.com.cn.beans.HotelstoryDictionaries;
import yiminsu.com.cn.beans.HotelType;
import yiminsu.com.cn.beans.HotelTypeAssort;
import yiminsu.com.cn.beans.HotelTypeAssortVO;
import yiminsu.com.cn.beans.HotelTypeBedType;
import yiminsu.com.cn.beans.HotelTypeMoney;
import yiminsu.com.cn.beans.HotelTypeMoneyVO;
import yiminsu.com.cn.beans.LeisurehotelUser;
import yiminsu.com.cn.beans.LeisurehotelUserMerchant;
import yiminsu.com.cn.utils.ResultsUtil;


@Transactional
public interface HostUserService {
	   //创建项目的时候测试的方法
		Hostuser Gethostuser(String userid);
		
		/**
		 * 子账号管理模块
		 * @param hotelUser
		 * @return
		 */
		//新增子账号信息
		int insertUser(LeisurehotelUser hotelUser);

		//新增父账号和子账号
		ResultsUtil insertMerchant(String id,String fid, String zid);
		
		//修改子账号信息
		ResultsUtil updateUser(String zid,String userName,String phoneNumber);
		
		//解除子账号的管理
		ResultsUtil deleteMerchant(String fid,String zid);
		
		/**
		 * 房间管理模块   新增房间
		 * @param hotelType
		 * @return
		 */	
		//根据字典Id查询字典表的数据
		int selectById(String id);		
		
		//新增房间价格表
		ResultsUtil insertMoney(String id,Integer hid, String hdid,BigDecimal hmoney);
		
		//新增配套设施中间表
		ResultsUtil insertAssort(String id,Integer hid, String tdid);
		
		//新增房间床型表
		ResultsUtil insertRoomType(String id,Integer hid,String did,String dmsid,Integer bedtypenum);
			
		//新增配套设施字典表
	    int insertDictionaries(HotelstoryDictionaries hotelStoryDictionaries);
		
	    //新增房间
	    int insertRoom(Integer hotelTypeId,String hotelTypeName,List<String> listimage,String hotelImage,
	    		Integer rooms,Integer roomt,Integer roomw,Integer roomc,String roomarea,
				Integer residepersonnummax,String roomdescribe);
		
		/**
		 * 房间管理模块  回显数据
		 * @param hotelType
		 * @return
		 */		
		//查询房间信息
		HotelType selectHotelType(Integer hotelTypeId);
		
		//查询房间价格信息
		List<HotelTypeMoneyVO> selectMoney(Integer hid);
		
		//查询房间床型信息
		List<HotelBedTypeVO> selectHotelBed(Integer hid);
		
		//查询房间配套设施信息
		List<HotelTypeAssortVO> selectAssort(Integer hid);
			
		/**
		 * 房间管理模块  修改房间
		 * @param hotelType
		 * @return
		 */				
		//修改房间
		int updateRoom(Integer hotelTypeId, String hotelTypeName,List<String> listimage, String hotelImage, Integer rooms, Integer roomt,
				Integer roomw, Integer roomc, String roomarea,Integer residepersonnummax,
				String roomdescribe);
		
		//修改房间床型
		int updateRoomType(Integer hid,String did,String dmsid,Integer bedtypenum);
		
		//修改字典表
		ResultsUtil  updateDictionaries(String id,String dvalue);
			
		//修改配套设施中间表
		ResultsUtil updateAssort(Integer hid,String tdid);
			
		//修改房间价格
		ResultsUtil updatePrice(Integer hid,String hdid,BigDecimal hmoney);

		/**
		 *房间管理模块  批量设置房态及价格
		 * @param hotelTypeId
		 * @return
		 */
		//修改房间剩余数
		ResultsUtil updateStatus(Integer hotelTypeId,Integer roomstatus,Date roomtime);
		
		//新增字典表
		ResultsUtil insertStroyValue(String id, String dname, String dvalue, Integer dtype);
		
		//新增房间价格
		int insertHotelPrice(String id,Integer hid,String hdid,BigDecimal hmoney);

}
